home *** CD-ROM | disk | FTP | other *** search
/ 5,555 MP3 Music & Sound / 5,555 MP3 - Music & Sound.iso / pro / musict~1.pas < prev    next >
Pascal/Delphi Source File  |  2000-03-01  |  19KB  |  771 lines

  1. unit musictest;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   MPlayer, FileCtrl, StdCtrls, ExtCtrls, Buttons, Menus, shellapi,
  8.   CoolTrayIcon, ImgList, ComCtrls, MPEGPlay, OleCtrls, MediaPlayer_TLB;
  9.  
  10. type
  11.   TWebM = class(TForm)
  12.     Panel1: TPanel;
  13.     Panel2: TPanel;
  14.     Panel3: TPanel;
  15.     DirectoryListBox1: TDirectoryListBox;
  16.     Panel5: TPanel;
  17.     Timer1: TTimer;
  18.     MainMenu1: TMainMenu;
  19.     File1: TMenuItem;
  20.     Close1: TMenuItem;
  21.     N1: TMenuItem;
  22.     About1: TMenuItem;
  23.     BDGPubishingInc1: TMenuItem;
  24.     ShoponCD1: TMenuItem;
  25.     InstallNetscape1: TMenuItem;
  26.     Install1: TMenuItem;
  27.     Panel6: TPanel;
  28.     repeatm: TSpeedButton;
  29.     cti: TCoolTrayIcon;
  30.     ImageList4: TImageList;
  31.     PopupMenu1: TPopupMenu;
  32.     ShowWindow1: TMenuItem;
  33.     HideWindow1: TMenuItem;
  34.     MenuItem1: TMenuItem;
  35.     Exit1: TMenuItem;
  36.     View1: TMenuItem;
  37.     MinimizetoIcon1: TMenuItem;
  38.     ExploreCurrentFolder1: TMenuItem;
  39.     all: TSpeedButton;
  40.     intro: TSpeedButton;
  41.     Timer3: TTimer;
  42.     WindowsDesktop1: TMenuItem;
  43.     SpeedButton1: TSpeedButton;
  44.     SaveList1: TMenuItem;
  45.     OpenDialog1: TOpenDialog;
  46.     SaveDialog1: TSaveDialog;
  47.     OpenList1: TMenuItem;
  48.     SpeedButton2: TSpeedButton;
  49.     SpeedButton3: TSpeedButton;
  50.     GB1: TGroupBox;
  51.     FileListBox1: TFileListBox;
  52.     GroupBox1: TGroupBox;
  53.     ListBox1: TListBox;
  54.     savb: TSpeedButton;
  55.     SpeedButton6: TSpeedButton;
  56.     ListBox2: TListBox;
  57.     ran: TSpeedButton;
  58.     SpeedButton7: TSpeedButton;
  59.     N2: TMenuItem;
  60.     OpenMediaFile1: TMenuItem;
  61.     N3: TMenuItem;
  62.     Playlist1: TMenuItem;
  63.     Directory1: TMenuItem;
  64.     Panel4: TPanel;
  65.     ei: TSpeedButton;
  66.     ea: TSpeedButton;
  67.     pb: TSpeedButton;
  68.     CheckBox1: TCheckBox;
  69.     SpeedButton4: TSpeedButton;
  70.     SpeedButton8: TSpeedButton;
  71.     TheBestMusicMatch1: TMenuItem;
  72.     PopupMenu2: TPopupMenu;
  73.     Copy1: TMenuItem;
  74.     N5: TMenuItem;
  75.     cdf: TMenuItem;
  76.     SetDefaultFolder1: TMenuItem;
  77.     sm1: TMenuItem;
  78.     Readme1: TMenuItem;
  79.     ExploreCD1: TMenuItem;
  80.     cb1: TComboBox;
  81.     MediaPlayer2: TMenuItem;
  82.     ms: TMSMediaPlayer;
  83.     Panel7: TPanel;
  84.     DriveComboBox1: TDriveComboBox;
  85.     procedure DriveComboBox1Change(Sender: TObject);
  86.     procedure DirectoryListBox1Change(Sender: TObject);
  87.     procedure chktemp(dir:string; var re:string);
  88.     procedure mediap(filen:string);
  89.     procedure FileListBox1DblClick(Sender: TObject);
  90.     procedure eiClick(Sender: TObject);
  91.     procedure eaClick(Sender: TObject);
  92.     procedure Timer1Timer(Sender: TObject);
  93.     procedure ListBox1Click(Sender: TObject);
  94.     procedure Close1Click(Sender: TObject);
  95.     procedure BDGPubishingInc1Click(Sender: TObject);
  96.     procedure InstallNetscape1Click(Sender: TObject);
  97.     procedure ShoponCD1Click(Sender: TObject);
  98.     procedure FormCreate(Sender: TObject);
  99.     procedure pbClick(Sender: TObject);
  100.     procedure MinimizetoIcon1Click(Sender: TObject);
  101.     procedure ShowWindow1Click(Sender: TObject);
  102.     procedure HideWindow1Click(Sender: TObject);
  103.     procedure Exit1Click(Sender: TObject);
  104.     procedure ctiMouseUp(Sender: TObject; Button: TMouseButton;
  105.       Shift: TShiftState; X, Y: Integer);
  106.     procedure ExploreCurrentFolder1Click(Sender: TObject);
  107.     procedure allClick(Sender: TObject);
  108.     procedure Timer3Timer(Sender: TObject);
  109.     procedure FileListBox1Change(Sender: TObject);
  110.     procedure introClick(Sender: TObject);
  111.     procedure WindowsDesktop1Click(Sender: TObject);
  112.     procedure SaveList1Click(Sender: TObject);
  113.     procedure OpenList1Click(Sender: TObject);
  114.     procedure MediaPlayer1Notify(Sender: TObject);
  115.     procedure chkcon;
  116.     procedure sb1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  117.       var ScrollPos: Integer);
  118.     procedure mp3PlayEnd(Sender: TObject);
  119.     procedure ListBox1DblClick(Sender: TObject);
  120.     procedure savbClick(Sender: TObject);
  121.     procedure CheckBox1Click(Sender: TObject);
  122.     procedure ListBox2Enter(Sender: TObject);
  123.     procedure ranClick(Sender: TObject);
  124.     procedure SpeedButton7Click(Sender: TObject);
  125.     procedure Directory1Click(Sender: TObject);
  126.     procedure Playlist1Click(Sender: TObject);
  127.     procedure FormResize(Sender: TObject);
  128.     procedure TheBestMusicMatch1Click(Sender: TObject);
  129.     procedure MP3toWav1Click(Sender: TObject);
  130.     procedure DirectoryListBox1Click(Sender: TObject);
  131.     procedure cdfClick(Sender: TObject);
  132.     procedure SetDefaultFolder1Click(Sender: TObject);
  133.     procedure ExploreCD1Click(Sender: TObject);
  134.     procedure Readme1Click(Sender: TObject);
  135.     procedure cb1Change(Sender: TObject);
  136.     procedure MediaPlayer2Click(Sender: TObject);
  137.     procedure FileListBox1Click(Sender: TObject);
  138.     procedure msEndOfStream(Sender: TObject; Result: Integer);
  139.     procedure FormShow(Sender: TObject);
  140.     procedure msPlayStateChange(Sender: TObject; OldState,
  141.       NewState: Integer);
  142.   private
  143.     { Private declarations }
  144.   public
  145.     { Public declarations }
  146.   end;
  147.  
  148. const
  149.  
  150. ModeStr: array[TMPModes] of string = ('Not ready', 'Stopped', 'Playing', 'Recording', 'Seeking', 'Paused', 'Open');
  151.  
  152. var
  153.   WebM: TWebM;
  154.   tempstr,cur,masterdir:string;
  155.   orifile,desfile,loadbmp:array[0..255] of char;
  156.   music,conm:integer;
  157.   rep:boolean;
  158.   ormouse,desmouse:tpoint;
  159.   fhg,fhd,fphy:integer;
  160.  
  161.  
  162.  
  163. implementation
  164.  
  165. uses di;
  166.  
  167. {$R *.DFM}
  168.  
  169.  
  170.  
  171. procedure TWebM.DriveComboBox1Change(Sender: TObject);
  172. begin
  173. directorylistbox1.Drive:=drivecombobox1.Drive;
  174. end;
  175.  
  176. procedure TWebM.DirectoryListBox1Change(Sender: TObject);
  177. begin
  178. filelistbox1.Directory:=directorylistbox1.Directory;
  179. end;
  180.  
  181. procedure TWebM.chktemp(dir:string; var re:string);
  182. begin
  183. if dir[length(dir)]<>'\' then dir:=dir+'\';
  184. re:=dir;
  185. end;
  186.  
  187. procedure TWebM.FileListBox1DblClick(Sender: TObject);
  188. var i,j:integer;
  189. begin
  190. chktemp(filelistbox1.directory,tempstr);
  191. j:=0;
  192. for i:=0 to filelistbox1.items.count-1 do
  193.         if filelistbox1.Selected[i] then
  194.         begin
  195.         j:=1;
  196.         break;
  197.         end;
  198. if j=0 then exit else
  199. begin
  200. if listbox2.items.count>0 then
  201.       for j:=0 to listbox2.items.count-1 do
  202.                 if  listbox2.items[j]=tempstr+filelistbox1.items[i] then
  203.                 if MessageDlg('There is a duplicate file inthe list box, do you want to add anyway?',
  204.                 mtConfirmation, [mbYes, mbNo], 0) = mrNo then    exit;
  205.       listbox2.Items.Add(tempstr+filelistbox1.items[i]);
  206.       listbox1.items.add(tempstr+filelistbox1.items[i]);
  207. end;
  208.  
  209. end;
  210.  
  211. procedure TWebM.eiClick(Sender: TObject);
  212. var i,j:integer;
  213. begin
  214. if listbox1.Items.count>0 then
  215. for i:=0 to listbox1.items.count-1 do
  216.         if listbox1.selected[i] then
  217.         begin
  218.         for j:=0 to listbox2.items.count-1 do
  219.         if listbox2.items[j]=listbox1.items[i] then
  220.                 begin
  221.                 listbox2.Items.Delete(j);
  222.                 break;
  223.                 end;
  224.         listbox1.Items.delete(i);
  225.         break;
  226.         end;
  227. end;
  228.  
  229. procedure TWebM.eaClick(Sender: TObject);
  230. begin
  231. listbox1.Clear;
  232. listbox2.Clear;
  233. end;
  234.  
  235. procedure TWebM.Timer1Timer(Sender: TObject);
  236. begin
  237. cdf.Enabled:=sm1.Enabled;
  238. cti.Hint:='Current playing '+ms.FileName;
  239. ShowWindow1.Enabled:=not visible;
  240. HideWindow1.Enabled:=visible;
  241. if filelistbox1.Items.count<=0 then
  242. begin
  243. savb.Enabled:=false;
  244. all.Enabled:=false;
  245. intro.Enabled:=false;
  246. sm1.Enabled:=false;
  247. end else  begin
  248. all.Enabled:=true;
  249. intro.Enabled:=true;
  250. end;
  251.  
  252. if listbox1.Items.count<=0 then
  253. begin
  254. ea.enabled:=false;
  255. ei.enabled:=false;
  256. pb.Enabled:=false;
  257. repeatm.enabled:=false;
  258. ran.Enabled:=false;
  259. end else
  260. begin
  261. repeatm.enabled:=true;
  262. ran.Enabled:=true;
  263. ea.enabled:=true;
  264. if pb.Tag=0 then
  265. pb.enabled:=true;
  266. end;
  267. end;
  268.  
  269. procedure TWebM.ListBox1Click(Sender: TObject);
  270. var i:integer;
  271. begin
  272. for i:=0 to listbox1.items.count-1 do
  273.         if listbox1.selected[i] then ei.Enabled:=true;
  274. end;
  275.  
  276. procedure TWebM.Close1Click(Sender: TObject);
  277. begin
  278. close;
  279. end;
  280.  
  281. procedure TWebM.BDGPubishingInc1Click(Sender: TObject);
  282. begin
  283. ordi.showmodal;
  284. end;
  285.  
  286. procedure TWebM.InstallNetscape1Click(Sender: TObject);
  287. begin
  288. strpcopy(orifile,cur+'cc47.exe');
  289. winexec(orifile,sw_shownormal);
  290.  
  291. end;
  292.  
  293. procedure TWebM.ShoponCD1Click(Sender: TObject);
  294. begin
  295.     strpcopy(orifile,'1.htm');
  296.     strpcopy(desfile,cur);
  297.     findexecutable(orifile,desfile,loadbmp);
  298.     tempstr:=' http://www.shop4all.com';
  299.     strpcopy(orifile,loadbmp+tempstr);
  300.     winexec(orifile,sw_shownormal);
  301. end;
  302.  
  303. procedure TWebM.FormCreate(Sender: TObject);
  304. begin
  305.  
  306. getwindowsdirectory(orifile,200);
  307. chktemp(orifile,masterdir);
  308. getdir(0,cur);
  309. chktemp(cur,cur);
  310. music:=-1;
  311. fphy:=height;
  312. Directory1Click(Sender);
  313. playlist1click(sender);
  314. masterdir:=cur;
  315.  
  316. end;
  317.  
  318. procedure TWebM.pbClick(Sender: TObject);
  319. begin
  320. timer3.enabled:=false;
  321. music:=0;
  322. pb.Tag:=1;
  323. pb.Enabled:=false;
  324. mediap(listbox1.items[music]);
  325.  
  326. end;
  327.  
  328. procedure TWebM.MinimizetoIcon1Click(Sender: TObject);
  329. begin
  330. cti.HideMainForm;
  331. end;
  332.  
  333. procedure TWebM.ShowWindow1Click(Sender: TObject);
  334. begin
  335. cti.ShowMainForm;
  336. end;
  337.  
  338. procedure TWebM.HideWindow1Click(Sender: TObject);
  339. begin
  340. cti.HideMainForm;
  341. end;
  342.  
  343. procedure TWebM.Exit1Click(Sender: TObject);
  344. begin
  345. close;
  346. end;
  347.  
  348. procedure TWebM.ctiMouseUp(Sender: TObject; Button: TMouseButton;
  349.   Shift: TShiftState; X, Y: Integer);
  350. var p:tpoint;
  351. begin
  352. getcursorpos(p);
  353. popupmenu1.Popup(p.x,p.y);
  354. end;
  355.  
  356. procedure TWebM.ExploreCurrentFolder1Click(Sender: TObject);
  357. begin
  358. strpcopy(loadbmp,'explorer '+filelistbox1.directory);
  359. winexec(loadbmp,sw_shownormal);
  360. end;
  361.  
  362. procedure TWebM.allClick(Sender: TObject);
  363. var i:integer;
  364. begin
  365. chktemp(filelistbox1.directory,tempstr);
  366. for i:=0 to filelistbox1.items.count-1 do
  367. begin
  368. listbox1.items.Add(tempstr+filelistbox1.items[i]);
  369. listbox2.items.Add(tempstr+filelistbox1.items[i]);
  370. end;
  371.  
  372. end;
  373.  
  374. procedure TWebM.Timer3Timer(Sender: TObject);
  375. begin
  376. if not intro.Down then
  377. begin
  378. timer3.Enabled:=false;
  379. exit;
  380. end;
  381. if ms.CurrentPosition>=ms.Duration*strtofloat(cb1.text) then
  382.  
  383. if conm<filelistbox1.items.count-1 then
  384. begin
  385. conm:=conm+1;
  386. chktemp(filelistbox1.directory,tempstr);
  387. mediap(tempstr+filelistbox1.items[conm]);
  388. end else
  389. intro.Down:=false;
  390.  
  391.  
  392. end;
  393.  
  394. procedure TWebM.FileListBox1Change(Sender: TObject);
  395. begin
  396. if filelistbox1.items.count>0 then
  397.         if filelistbox1.ItemIndex>=0 then
  398.         sm1.Enabled:=true else sm1.Enabled:=false;
  399. if timer3.enabled then
  400. begin
  401. intro.Down:=false;
  402. savb.enabled:=false;
  403. ms.Stop;
  404. end;
  405.  
  406. end;
  407.  
  408. procedure TWebM.introClick(Sender: TObject);
  409. begin
  410. conm:=0;
  411.  
  412. chktemp(filelistbox1.directory,tempstr);
  413. if intro.Down then
  414. begin
  415. mediap(tempstr+filelistbox1.items[conm]);
  416. timer3.enabled:=true;
  417. end
  418.  
  419. end;
  420.  
  421. procedure TWebM.WindowsDesktop1Click(Sender: TObject);
  422. begin
  423. getwindowsdirectory(loadbmp,100);
  424. chktemp(loadbmp,tempstr);
  425. filelistbox1.Directory:=tempstr+'desktop';
  426. end;
  427.  
  428. procedure TWebM.SaveList1Click(Sender: TObject);
  429. begin
  430. with Savedialog1 do
  431. begin
  432. Filename:='Untitled';
  433. Filter:='Text File|*.txt';
  434. DefaultExt:='txt';
  435. title:='Saving Play List';
  436. if Execute then
  437. listbox1.Items.SaveToFile(filename);
  438. end;
  439.  
  440. end;
  441.  
  442. procedure TWebM.OpenList1Click(Sender: TObject);
  443. begin
  444. with opendialog1 do
  445. begin
  446. Filename:='Untitled';
  447. options:=[ofFileMustExist,ofEnableSizing];
  448. title:='Open Play List' ;
  449. Filter:='Text File|*.txt';
  450. if Execute then
  451. begin
  452. listbox1.Items.LoadFromFile(filename);
  453. listbox2.Items.LoadFromFile(filename);
  454. end;
  455. end;
  456.  
  457. end;
  458.  
  459. procedure TWebM.MediaPlayer1Notify(Sender: TObject);
  460. begin
  461.   with Sender as TMediaPlayer do
  462.   begin
  463.     //Caption := ModeStr[Mode];
  464.     { Note we must reset the Notify property to True }
  465.     { so that we are notified the next time the }
  466.     { mode changes }
  467.     Notify := True;
  468.   end;
  469.  
  470. end;
  471.  
  472. procedure TWebM.mediap(filen:string);
  473. begin
  474. if not fileexists(filen) then exit;
  475. gb1.Caption:='Playing '+extractfilename(filen);
  476. caption:='5,555 MP3 Music and Sound -'+extractfilename(filen);
  477. ms.FileName:=filen;
  478. ms.Play;
  479.  
  480. end;
  481.  
  482. procedure TWebM.chkcon;
  483. begin
  484.  
  485.  
  486. if not pb.Enabled and (listbox1.Items.Count>0) then
  487.         begin
  488.         if music<listbox1.items.count-1 then
  489.         music:=music+1 else
  490.         if repeatm.down then music:=0 else
  491.         begin
  492.         pb.tag:=0;
  493.         exit;
  494.         end;
  495.  
  496.         if music<=listbox1.items.count-1 then
  497.         mediap(listbox1.items[music]);
  498.         end;
  499.  
  500. end;
  501.  
  502. procedure TWebM.sb1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  503.   var ScrollPos: Integer);
  504. begin
  505.   Case ScrollCode of
  506.     scTrack: ;//PosIsChangingNow:=true;
  507.     scEndScroll: begin
  508.                    //PosIsChangingNow:=false;
  509. //                   If (mp3.Mode=plmPlaying)or(mp3.Mode=plmPaused) then mp3.CurrentPosition:=ScrollPos;
  510.   //                 with mediaplayer1 do
  511.     //               if (mode=mpplaying) or (mode=mppaused) then
  512.       //             begin
  513.                    //frames:=ScrollPos-position;
  514.         //           position:=ScrollPos;
  515.                    //caption:=inttostr(frames);
  516.           //         play
  517.             //       end;
  518.                  end;
  519.   end;
  520. end;
  521.  
  522. procedure TWebM.mp3PlayEnd(Sender: TObject);
  523. begin
  524. chkcon;
  525. end;
  526.  
  527. procedure TWebM.ListBox1DblClick(Sender: TObject);
  528. var i:integer;
  529. begin
  530. for i:=0 to listbox1.items.count-1 do
  531.         if listbox1.selected[i] then
  532.         mediap(listbox1.items[i]);
  533. end;
  534.  
  535. procedure TWebM.savbClick(Sender: TObject);
  536. begin
  537. with Savedialog1 do
  538. begin
  539. FileName:='';
  540. if filelistbox1.items.count>0 then
  541.         if filelistbox1.ItemIndex>=0 then
  542.         FileName:=filelistbox1.items[filelistbox1.ItemIndex];
  543.  
  544. if FileName='' then
  545.         begin
  546.         showmessage('Please select a media file from!');
  547.         exit;
  548.         end;
  549.  
  550. chktemp(filelistbox1.Directory,tempstr);
  551. Filter:='Media File|*.wav;*.mid;*.cda;*.avi;*.mp*;';
  552. title:='Saving Media File';
  553. DefaultExt:='';
  554. strpcopy(orifile,tempstr+filename);
  555. if Execute then
  556. begin
  557. strpcopy(desfile,filename);
  558. copyfile(orifile,desfile,false);
  559. end;
  560.  
  561. end;
  562.  
  563. end;
  564.  
  565. procedure TWebM.CheckBox1Click(Sender: TObject);
  566. begin
  567. listbox1.Sorted:=checkbox1.Checked;
  568. if not listbox1.Sorted then
  569. listbox1.items:=listbox2.items;
  570. end;
  571.  
  572. procedure TWebM.ListBox2Enter(Sender: TObject);
  573. begin
  574. listbox1.Items:=listbox2.items;
  575. end;
  576.  
  577. procedure TWebM.ranClick(Sender: TObject);
  578. var i,j,pk:integer;
  579. begin
  580. checkbox1.Checked:=false;
  581. CheckBox1Click(Sender);
  582. listbox1.Clear;
  583. i:=0;
  584. while i<listbox2.items.count do
  585.         begin
  586.         pk:=0;
  587.         tempstr:=listbox2.items[random(listbox2.items.count)];
  588.         for j:=0 to listbox1.items.Count-1 do
  589.                 if listbox1.items[j]=tempstr then pk:=1;
  590.         //caption:=tempstr;
  591.         if pk=0 then
  592.         begin
  593.         listbox1.items.add(tempstr);
  594.         i:=i+1;
  595.         end;
  596.  
  597.         end;
  598. end;
  599.  
  600. procedure TWebM.SpeedButton7Click(Sender: TObject);
  601. begin
  602. with opendialog1 do
  603. begin
  604. Filename:='Untitled';
  605. options:=[ofFileMustExist,ofEnableSizing];
  606. title:='Open Media File' ;
  607. Filter:='Media File|*.wav;*.mid;*.cda;*.mp*;';
  608. if Execute then
  609.  mediap(filename);
  610. end;
  611. end;
  612.  
  613. procedure TWebM.Directory1Click(Sender: TObject);
  614. begin
  615. directory1.Checked:=not directory1.Checked;
  616. panel2.visible:=directory1.Checked;
  617. if panel2.Visible then fhd:=panel2.height else fhd:=0;
  618. FormResize(Sender);
  619. end;
  620.  
  621. procedure TWebM.Playlist1Click(Sender: TObject);
  622. begin
  623. playlist1.Checked:=not playlist1.Checked;
  624. groupbox1.Visible:=playlist1.Checked;
  625. if groupbox1.Visible then fhg:=groupbox1.height else fhg:=0;
  626. FormResize(Sender);
  627. end;
  628.  
  629. procedure TWebM.FormResize(Sender: TObject);
  630. begin
  631. height:=fphy+fhg+fhd;
  632. end;
  633.  
  634. procedure TWebM.TheBestMusicMatch1Click(Sender: TObject);
  635. begin
  636. strpcopy(orifile,cur+'musicmat.exe');
  637. winexec(orifile,sw_shownormal);
  638. end;
  639.  
  640. procedure TWebM.MP3toWav1Click(Sender: TObject);
  641. begin
  642. showmessage('If you get a error message, please install "Windows Media Audio Driver".');
  643. strpcopy(orifile,cur+'addons\conv\mp3conv.exe');
  644. winexec(orifile,sw_shownormal);
  645. end;
  646.  
  647. procedure TWebM.DirectoryListBox1Click(Sender: TObject);
  648. begin
  649. chktemp(directorylistbox1.Directory,tempstr);
  650. try filelistbox1.directory:=tempstr+directorylistbox1.items[directorylistbox1.ItemIndex];
  651. except end;
  652. end;
  653.  
  654. procedure TWebM.cdfClick(Sender: TObject);
  655. begin
  656.  
  657. with Savedialog1 do
  658. begin
  659. FileName:=filelistbox1.items[filelistbox1.ItemIndex];
  660. chktemp(filelistbox1.Directory,tempstr);
  661. strpcopy(orifile,tempstr+filename);
  662. if not fileexists(masterdir+filelistbox1.items[filelistbox1.ItemIndex]) then
  663. begin
  664. strpcopy(desfile,masterdir+filename);
  665. copyfile(orifile,desfile,false);
  666. end else
  667. begin
  668. Filter:='Media File|*.wav;*.mid;*.cda;*.avi;*.mp*;';
  669. title:='Saving Media File';
  670. DefaultExt:='';
  671. if Execute then
  672. begin
  673. strpcopy(desfile,filename);
  674. copyfile(orifile,desfile,false);
  675. end;
  676. end;
  677.  
  678. end;
  679.  
  680. end;
  681.  
  682. procedure TWebM.SetDefaultFolder1Click(Sender: TObject);
  683. begin
  684. with opendialog1 do
  685. begin
  686. options:=[];
  687. filename:='Select Directory and Click Open';
  688. Title:='Select New Default Directory';
  689. Filter:='';
  690. if Execute then
  691. masterdir:=extractfiledir(filename);
  692. chktemp(masterdir,masterdir);
  693. end;
  694. end;
  695.  
  696. procedure TWebM.ExploreCD1Click(Sender: TObject);
  697. begin
  698. strpcopy(orifile,'explorer '+cur);
  699. winexec(orifile,sw_shownormal);
  700. end;
  701.  
  702. procedure TWebM.Readme1Click(Sender: TObject);
  703. begin
  704.     strpcopy(orifile,'1.htm');
  705.     strpcopy(desfile,cur);
  706.     findexecutable(orifile,desfile,loadbmp);
  707.     tempstr:=' '+cur+'intro\1.htm';
  708.     strpcopy(orifile,loadbmp+tempstr);
  709.     winexec(orifile,sw_shownormal);
  710. end;
  711.  
  712. procedure TWebM.cb1Change(Sender: TObject);
  713. var i,j:integer;
  714. begin
  715. j:=-1;
  716. for i:=0 to cb1.items.Count-1 do
  717. if cb1.Text=cb1.items[i] then exit;
  718.  
  719. if j=-1 then cb1.Text:='.5'; 
  720.  
  721. end;
  722.  
  723. procedure TWebM.MediaPlayer2Click(Sender: TObject);
  724. begin
  725. strpcopy(orifile,cur+'media.exe');
  726. winexec(orifile,sw_shownormal);
  727.  
  728. end;
  729.  
  730. procedure TWebM.FileListBox1Click(Sender: TObject);
  731. begin
  732. Timer3Timer(sender);
  733. pb.Tag:=0;
  734. chktemp(filelistbox1.Directory,tempstr);
  735. mediap(tempstr+filelistbox1.items[filelistbox1.ItemIndex]);
  736. end;
  737.  
  738. procedure TWebM.msEndOfStream(Sender: TObject; Result: Integer);
  739. begin
  740. chkcon;
  741. end;
  742.  
  743. procedure TWebM.FormShow(Sender: TObject);
  744. begin
  745. if LowerCase(ParamStr(1))<>'' then
  746. begin
  747. showwindow1.Visible:=false;
  748. hidewindow1.Enabled:=false;
  749. menuitem1.Enabled:=false;
  750. cti.StartMinimized:=true;
  751. mediap(ParamStr(1));
  752. windowstate:=wsMinimized;
  753. end else
  754. try
  755. if (not fileexists(cur+'welcome.mp3')) or (ms.tag=99) then exit;
  756. if ms.tag=0 then mediap(cur+'welcome.mp3');
  757. ms.tag:=99;
  758. except
  759. showmessage('This system require MP3 Driver, click OK to install!'+chr(vk_return)+'Run this program again, after installation!');
  760. winexec('media.exe',sw_shownormal);
  761. end;
  762. end;
  763.  
  764. procedure TWebM.msPlayStateChange(Sender: TObject; OldState,
  765.   NewState: Integer);
  766. begin
  767. cti.tag:=newstate;
  768. end;
  769.  
  770. end.
  771.